Jetson Xavier NXのSDカードのクローンする方法(Windows)
カフェチームの山本です。
カフェでは店舗で機械学習のモデルを動かすために、Jetson Xavier NXを利用しています。Jetsonは複数台使用しているため、同じ設定を全部の端末に繰り返すのは大変です。
今回は、設定の手間や時間を節約するために、WindowsでJetson Xavier NXのSDカードをクローンする方法をまとめました。これによって、SDカードの内容を複製して機器を準備できるため、複雑な設定手順が不要になります。SDカードの複製は色々な場面で利用しますが、Jetsonの場合、少しわかりにくい点があったため、備忘録も兼ねて手順をまとめました。
(Jetson Xavier NXの場合を書きますが、Jetson Nanoでも同様の手順でコピーできると思われます。)
ステップ0:準備
用意するものは以下の4点です。
クローン元のSDカード
環境構築などを済ませたSDカードです。
クローン先のSDカード
今回は、クローン元のSDカードと同じ容量のものを使用しました。
Windowsマシン
クローン作業のためのPCです。クローン元のSDカードの容量と同程度の空きが必要です。
今回はDD for Windowsというソフトウェアを利用しました。以下のリンク中の「ダウンロード」から、「新バージョン(R2)」の「Ver1.0.7067.22284(ベータ版)」をダウンロードしました(ベータ版なので、不具合が起こる可能性があることをご留意ください)。インストールは必要なく、ダウンロードしたフォルダ内のファイルを実行すればOKです。
また、クローン先のSDカードにJetPackを書き込むために、Etcherというソフトウェアを利用しました。こちらは、ダウンロード後インストールしておく必要があります。
balenaEtcher - Flash OS images to SD cards & USB drives
SDカードライタ
今回は以下の製品を利用しました。
こちらの製品は、通常のSDカードサイズとmicroサイズの2種類のスロットがありますが、同時に利用できるのは1つまでのようです。2つのスロットにカードを差し込んだ場合、Windowsからはどちらのカードも認識されませんでした。
ステップ1:diskファイルを作成する
クローン元SDカードの内容をdiskファイルとして読み出します。
- クローン元SDカードをSDカードライタに差し込み、Windowsに接続します。DD for Windowsを起動します(実行時に管理者権限が求められます)。
- 読み込み元として、「ドライブ」の右の「...」をクリックし、SDカードを選択します。選択するのは、右側のパーティションの箇所ではなく、左側の全体を選択するボタンです。
- 読み込み先のファイルとして、エクスプローラなどで、diskファイル(空のファイル)を作成します。この後、SDカードの内容がこのファイルに保存されるため、ドライブの空き容量がSDカードの容量よりも残っている必要があるため注意してください(正確にはSDカードの容量よりも少し大きい必要があります)。
- その後、「パス」の右の「...」をクリックし、作成したファイルを選択します。
- 中央ボタンの一番上の「読み込み」を選択し、読み込みを開始します(「書き込み」などを押さないように注意してください)。手元の環境では、32GBのSDカードを読み込むのに数十分程度かかりました。
ステップ2:JetPackを書き込む
クローン先SDカードにJetPackのイメージを書き込みます。NVIDIA公式ガイドに沿って進めればOKです。
- クローン元SDカードをSDカードライタに差し込み、PCに接続します。
- NVIDIAのページからダウンロードしたJetPackイメージを書き込んでください。コピー元SDカードと同じJetPackのバージョンを使いました(未確認ですが、同じバージョンを選んだほうが良いと思います)。書き込み後、Jetsonに差し込んで起動する(初期設定する)必要はありません。
ステップ3:diskファイルを書き込む
diskファイルの内容をクローン先SDカードに書き込みます。ステップ1と逆の手順をたどればOKです。
- 読み込み元のファイルとして、「パス」の右の「...」をクリックし、ステップ1で作成したファイルを選択します。
- 書き込み先として、「ドライブ」の右の「...」をクリックし、コピー先SDカードを選択します。ステップ1と同じく、右側ではなく左側のボタンを選択します。
- 中央ボタンの3つ目の「書き込み」を選択し、書き込みを開始します(「読み込み」などを押さないように注意してください)。手元の環境では、32GBのSDカードを書き込むのに数十分程度かかりました。
(ステップ4)
コピーしたSDカードをJetsonに入れて起動し、ネットワーク接続など、機器ごとに設定が必要な項目を再設定します。
まとめ
WindowsでJetsonのSDカードをクローンするために、DD for Windowsというソフトウェアを利用する方法をまとめました。
補足
クローンできなかった方法
- コピー先SDカードにJetPackを書き込まずに(=ステップ2を飛ばして)diskファイルを書き込もうとしたところ、DD for Windowsから「形式が違う」という旨のエラーを表示されました。(知識不足のため正確な原因はわからないのですが、おそらくpartitionの形式が、クローンしたファイル(Jetson)と異なることが原因だと思います。)